package org.kwin.spring.beans.factory;

import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @author : wangkai
 * @version V1.0
 * @Package org.kwin.spring.beans.factory
 * @Description:
 * @date 2021年09月28日 9:50
 **/
public abstract class AbstractActionFactory {
    
    /**
     * 存放bean容器
     */
    protected static Map<String, Object> beanMap = new ConcurrentHashMap<>();
    
    /**
     * 扫描并加载组件
     *
     * @param clazz
     */
    protected abstract void scanComponent(Class clazz, Properties properties);
    
    /**
     * 装配组件
     *
     * @param beanFactory
     */
    protected abstract void autowiredComponent(BeanFactory beanFactory);
    
    /**
     * 加载切面类型的组件
     */
    protected abstract void loadAspect();
    
    
}
